package com.ruoyi.teaching.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.TableName;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
  * <p>
  *
  * </p>
  *
  * @author 王旭
  * @since 2024-06-26
  */
@Data
@TableName("platform_u_resource")
@ApiModel(value="PlatformUResource对象", description="")
public class  PlatformUResource implements Serializable {
    private static final long serialVersionUID = 1L;


    @ApiModelProperty(value = "资源id")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "资源名称")
    @NotBlank(message = "资源名称不能为空")
    private String resourceName;

    @ApiModelProperty(value = "上传人")
    private String uploadPerson;

    @ApiModelProperty(value = "上传人学校")
    private String uploadPersonSchool;

    @ApiModelProperty(value = "组织来源")
    @NotBlank(message = "组织来源不能为空")
    private String sourceOrganization;

    @ApiModelProperty(value = "资源分类（0文档，1图片，2视频，3课件，4模型素材）")
    @NotNull(message = "资源分类不能为空")
    private Integer resourceType;

    @ApiModelProperty(value = "专业id（此处只存顶级专业，即专业大类）")
    @NotNull(message = "专业大类不能为空")
    private Integer specialtyId;

    @ApiModelProperty(value = "封面图")
    private String resourceImage;

    @ApiModelProperty(value = "文件")
    @NotBlank(message = "文件不能为空")
    private String resourceUrl;

    @ApiModelProperty(value = "模型url")
    private String modelUrl;

    @ApiModelProperty(value = "贴图url")
    private String chartletUrl;

    @ApiModelProperty(value = "说明")
    @Size(max = 200,message = "说明最多200个字符")
    private String resourceExplain;

    @ApiModelProperty(value = "审核状态（0未审核，1已通过，2未通过）")
    private Integer vettingStatus;

    @ApiModelProperty(value = "未通过原因类型（0内容质量低1涉嫌抄袭2版权问题3其它）")
    private Integer notPassingType;

    @ApiModelProperty(value = "未通过原因")
    private String notPassingReason;

    @ApiModelProperty(value = "资源文件大小")
    private String resourceSize;

    @ApiModelProperty(value = "下载量")
    private Integer downloadCount;

    @ApiModelProperty(value = "创建者id")
    private Integer createId;

    @ApiModelProperty(value = "创建者")
    private String createBy;

    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    @ApiModelProperty(value = "更新者id")
    private Integer updateId;

    @ApiModelProperty(value = "更新者")
    private String updateBy;

    @ApiModelProperty(value = "更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    @ApiModelProperty(value = "备注")
    private String remark;



}
